// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * ReportEvent generated by hbm2java
 */
@Entity
@Table(name = "report_event", catalog = "magento")
public class ReportEvent implements java.io.Serializable {
	private static final long serialVersionUID = 121323L;

	private Long eventId;
	private ReportEventTypes reportEventTypes;
	private CoreStore coreStore;
	private Date loggedAt;
	private int objectId;
	private int subjectId;
	private short subtype;

	public ReportEvent() {
	}

	public ReportEvent(ReportEventTypes reportEventTypes, CoreStore coreStore,
			Date loggedAt, int objectId, int subjectId, short subtype) {
		this.reportEventTypes = reportEventTypes;
		this.coreStore = coreStore;
		this.loggedAt = loggedAt;
		this.objectId = objectId;
		this.subjectId = subjectId;
		this.subtype = subtype;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "event_id", unique = true, nullable = false)
	public Long getEventId() {
		return this.eventId;
	}

	public void setEventId(Long eventId) {
		this.eventId = eventId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "event_type_id", nullable = false)
	public ReportEventTypes getReportEventTypes() {
		return this.reportEventTypes;
	}

	public void setReportEventTypes(ReportEventTypes reportEventTypes) {
		this.reportEventTypes = reportEventTypes;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "store_id", nullable = false)
	public CoreStore getCoreStore() {
		return this.coreStore;
	}

	public void setCoreStore(CoreStore coreStore) {
		this.coreStore = coreStore;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "logged_at", nullable = false, length = 19)
	public Date getLoggedAt() {
		return this.loggedAt;
	}

	public void setLoggedAt(Date loggedAt) {
		this.loggedAt = loggedAt;
	}

	@Column(name = "object_id", nullable = false)
	public int getObjectId() {
		return this.objectId;
	}

	public void setObjectId(int objectId) {
		this.objectId = objectId;
	}

	@Column(name = "subject_id", nullable = false)
	public int getSubjectId() {
		return this.subjectId;
	}

	public void setSubjectId(int subjectId) {
		this.subjectId = subjectId;
	}

	@Column(name = "subtype", nullable = false)
	public short getSubtype() {
		return this.subtype;
	}

	public void setSubtype(short subtype) {
		this.subtype = subtype;
	}

}
